package br.com.torneio.entidades;

// Generated 06/01/2013 21:02:57 by Hibernate Tools 4.0.0

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Jogo generated by hbm2java
 */
@Entity
@Table(name = "jogo", catalog = "torneio")
public class Jogo implements java.io.Serializable {

	private Integer idJogo;
	private Jogador jogadorByJogador1;
	private Jogador jogadorByJogador2;
	private Integer idVencedor;
	private Date dataHoraJogo;
	private String placarJogo;

	public Jogo() {
	}

	public Jogo(Jogador jogadorByJogador1, Jogador jogadorByJogador2,
			Date dataHoraJogo) {
		this.jogadorByJogador1 = jogadorByJogador1;
		this.jogadorByJogador2 = jogadorByJogador2;
		this.dataHoraJogo = dataHoraJogo;
	}

	public Jogo(Jogador jogadorByJogador1, Jogador jogadorByJogador2,
			Integer idVencedor, Date dataHoraJogo, String placarJogo) {
		this.jogadorByJogador1 = jogadorByJogador1;
		this.jogadorByJogador2 = jogadorByJogador2;
		this.idVencedor = idVencedor;
		this.dataHoraJogo = dataHoraJogo;
		this.placarJogo = placarJogo;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_JOGO", unique = true, nullable = false)
	public Integer getIdJogo() {
		return this.idJogo;
	}

	public void setIdJogo(Integer idJogo) {
		this.idJogo = idJogo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "JOGADOR_1", nullable = false)
	public Jogador getJogadorByJogador1() {
		return this.jogadorByJogador1;
	}

	public void setJogadorByJogador1(Jogador jogadorByJogador1) {
		this.jogadorByJogador1 = jogadorByJogador1;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "JOGADOR_2", nullable = false)
	public Jogador getJogadorByJogador2() {
		return this.jogadorByJogador2;
	}

	public void setJogadorByJogador2(Jogador jogadorByJogador2) {
		this.jogadorByJogador2 = jogadorByJogador2;
	}

	@Column(name = "ID_VENCEDOR")
	public Integer getIdVencedor() {
		return this.idVencedor;
	}

	public void setIdVencedor(Integer idVencedor) {
		this.idVencedor = idVencedor;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "DATA_HORA_JOGO", nullable = false, length = 19)
	public Date getDataHoraJogo() {
		return this.dataHoraJogo;
	}

	public void setDataHoraJogo(Date dataHoraJogo) {
		this.dataHoraJogo = dataHoraJogo;
	}

	@Column(name = "PLACAR_JOGO", length = 5)
	public String getPlacarJogo() {
		return this.placarJogo;
	}

	public void setPlacarJogo(String placarJogo) {
		this.placarJogo = placarJogo;
	}

}
